#include"priority_queue.h"
#include<list>
#include<functional>

namespace baka
{
	void test01()
	{
		list<int> l;
		l.push_back(11);
		l.push_back(2);
		l.push_back(5);
		priority_queue<int> pq(l.begin(),l.end());
		pq.push(1);
		pq.push(7);
		pq.push(9);
		pq.pop();
		cout << pq.top() << endl;
		cout << pq.size() << endl;
		cout << pq.empty() << endl;
	}
	void test02()
	{
		list<int> l;
		l.push_back(11);
		l.push_back(2);
		l.push_back(5);
		priority_queue<int, vector<int>, greater<int>> pq(l.begin(), l.end());
		pq.push(1);
		pq.push(7);
		pq.push(9);
		pq.pop();
		cout << pq.top() << endl;
		cout << pq.size() << endl;
		cout << pq.empty() << endl;
	}
	void test03()
	{
		list<int> l;
		l.push_back(11);
		l.push_back(2);
		l.push_back(5);
		priority_queue<int, vector<int>, greater<int>> pq(l.begin(), l.end());
		pq.push(1);
		pq.push(7);
		pq.push(9);
		pq.pop();
		cout << pq.top() << endl;
		cout << pq.size() << endl;
		cout << pq.empty() << endl;
	}
}

int main()
{
	baka::test03();
	return 0;
}